package com.hdoit.ares.web.insu.modelconfig;
import com.hdoit.ares.web.insu.providers.FanhuaCarPropertyProvider;
import com.hdoit.ares.web.insu.providers.FanhuaIdcardTypeProvider;
import com.hdoit.ares.web.insu.providers.FanhuaSexProvider;
import com.hdoit.ares.web.insu.providers.FanhuaCarTaskStateProvider;
import com.tennetcn.component.attribute.DateTimeAttribute;
import com.tennetcn.component.attribute.DisplayNameAttribute;
import com.tennetcn.component.attribute.DropDownListAttribute;
import com.tennetcn.component.attribute.base.ModelMetadataAttributeConfiguration;

/**
 * @author      caochengmeng
 * @email       
 * @createtime  2017年12月20日 17:30:35
 * @comment
 */
public class FanhuaCarConfig extends ModelMetadataAttributeConfiguration{
    public FanhuaCarConfig(){
        this.setProperty("taskId")
            .hasAttribute(new DisplayNameAttribute("任务号"));

        this.setProperty("prvName")
            .hasAttribute(new DisplayNameAttribute("保险公司简称"));

        this.setProperty("taskState")
            .hasAttribute(new DisplayNameAttribute("任务状态"))
            .hasAttribute(new DropDownListAttribute(new FanhuaCarTaskStateProvider()));

        this.setProperty("carLicenseNo")
            .hasAttribute(new DisplayNameAttribute("车牌号"));

        this.setProperty("vehicleName")
            .hasAttribute(new DisplayNameAttribute("车型名称"));

        this.setProperty("carProperty")
            .hasAttribute(new DisplayNameAttribute("车辆使用性质"))
            .hasAttribute(new DropDownListAttribute(new FanhuaCarPropertyProvider()));

        this.setProperty("carOwnerName")
            .hasAttribute(new DisplayNameAttribute("车主姓名"));

        this.setProperty("carOwnerPhone")
            .hasAttribute(new DisplayNameAttribute("车主电话"));

        this.setProperty("carOwnerMobile")
            .hasAttribute(new DisplayNameAttribute("车主电话"));

        this.setProperty("applicantName")
            .hasAttribute(new DisplayNameAttribute("投保人姓名"));

        this.setProperty("applicantIdcardNo")
            .hasAttribute(new DisplayNameAttribute("投保人证件号"));

        this.setProperty("applicantGender")
            .hasAttribute(new DisplayNameAttribute("投保人性别"))
            .hasAttribute(new DropDownListAttribute(new FanhuaSexProvider()));

        this.setProperty("applicantIdcardType")
            .hasAttribute(new DisplayNameAttribute("投保人证件类型"))
            .hasAttribute(new DropDownListAttribute(new FanhuaIdcardTypeProvider()));

        this.setProperty("applicantEmail")
            .hasAttribute(new DisplayNameAttribute("投保人邮箱"));

        this.setProperty("applicantMobile")
            .hasAttribute(new DisplayNameAttribute("投保人电话"));

        this.setProperty("insuredName")
            .hasAttribute(new DisplayNameAttribute("被保人姓名"));

        this.setProperty("insuredIdcardNo")
            .hasAttribute(new DisplayNameAttribute("被保人证件号"));

        this.setProperty("insuredGender")
            .hasAttribute(new DisplayNameAttribute("被保人性别"))
            .hasAttribute(new DropDownListAttribute(new FanhuaSexProvider()));;

        this.setProperty("insuredIdcardType")
            .hasAttribute(new DisplayNameAttribute("被保人证件类型"))
            .hasAttribute(new DropDownListAttribute(new FanhuaIdcardTypeProvider()));

        this.setProperty("insuredEmail")
            .hasAttribute(new DisplayNameAttribute("被保人邮箱"));

        this.setProperty("insuredMobile")
            .hasAttribute(new DisplayNameAttribute("被保人电话"));

        this.setProperty("efcInsureInfoStartDate")
            .hasAttribute(new DisplayNameAttribute("交强险起保日期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("efcInsureInfoEndDate")
            .hasAttribute(new DisplayNameAttribute("交强险终保日期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("efcInsureInfoAmount")
            .hasAttribute(new DisplayNameAttribute("交强险保额"));

        this.setProperty("efcInsureInfoPremium")
            .hasAttribute(new DisplayNameAttribute("交强险保费"));

        this.setProperty("efcInsureInfoPolicyNo")
            .hasAttribute(new DisplayNameAttribute("承保成功后才有交强险保单号"));

        this.setProperty("efcInsureInfoDiscountRate")
            .hasAttribute(new DisplayNameAttribute("交强险折扣率"));

        this.setProperty("taxInsureInfoLateFee")
            .hasAttribute(new DisplayNameAttribute("车船税金额"));

        this.setProperty("taxInsureInfoTaxFee")
            .hasAttribute(new DisplayNameAttribute("车船税滞纳金"));

        this.setProperty("bizInsureInfoStartDate")
            .hasAttribute(new DisplayNameAttribute("商业险起保日期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("bizInsureInfoEndDate")
            .hasAttribute(new DisplayNameAttribute("商业险终保日期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("bizInsureInfoPremium")
            .hasAttribute(new DisplayNameAttribute("商业险保费合计=商业险保费+商业险不计免赔保费"));

        this.setProperty("bizInsureInfoDiscountRate")
            .hasAttribute(new DisplayNameAttribute("承保成功后才有商业险折扣率"));

        this.setProperty("bizInsureInfoPolicyNo")
            .hasAttribute(new DisplayNameAttribute("商业险保单号"));

        this.setProperty("bizInsureInfoNfcPremium")
            .hasAttribute(new DisplayNameAttribute("商业险不计免赔保费"));

        this.setProperty("riskKinds")
            .hasAttribute(new DisplayNameAttribute("商业险险种信息"));

        this.setProperty("totalPremium")
            .hasAttribute(new DisplayNameAttribute("商业险总保费"));

        this.setProperty("msgType")
            .hasAttribute(new DisplayNameAttribute("01-上传影像提醒，详见下方影像规则说明"));

        this.setProperty("imageInfos")
            .hasAttribute(new DisplayNameAttribute("影像资料"));

        this.setProperty("quoteValidTime")
            .hasAttribute(new DisplayNameAttribute("报价有效期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("payValidTime")
            .hasAttribute(new DisplayNameAttribute("支付有效期"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("deliveryType")
            .hasAttribute(new DisplayNameAttribute("配送方式"));

        this.setProperty("deliveryName")
            .hasAttribute(new DisplayNameAttribute("收件人姓名"));

        this.setProperty("deliveryPhone")
            .hasAttribute(new DisplayNameAttribute("收件人联系号码"));

        this.setProperty("deliveryProvince")
            .hasAttribute(new DisplayNameAttribute("配送地址省编码"));

        this.setProperty("deliveryCity")
            .hasAttribute(new DisplayNameAttribute("配送地址市编码"));

        this.setProperty("deliveryArea")
            .hasAttribute(new DisplayNameAttribute("配送地址区编码"));

        this.setProperty("deliveryAddress")
            .hasAttribute(new DisplayNameAttribute("配送详细地址"));

        this.setProperty("deliveryZip")
            .hasAttribute(new DisplayNameAttribute("邮编"));

        this.setProperty("deliveryExpressCompanyName")
            .hasAttribute(new DisplayNameAttribute("快递公司名称"));

        this.setProperty("deliveryExpressNumber")
            .hasAttribute(new DisplayNameAttribute("快递单号"));

        this.setProperty("deliverySyElecPolicyFilePath")
            .hasAttribute(new DisplayNameAttribute("商业险电子保单地址"));

        this.setProperty("deliveryJpElecPolicyFilePath")
            .hasAttribute(new DisplayNameAttribute("交强险电子保单地址"));
        
        this.setProperty("deliveryOutDept")
        	.hasAttribute(new DisplayNameAttribute("出单网点"));

    }
}